package com.yunxin.core.application.dto.order;

import com.yunxin.core.customer.domain.TagInfo;
import com.yunxin.core.wechat.domain.WechatTagInfo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author zero°
 * @since 2023-05-28
 */
@Data
@Schema(description = "用户信息对象")
public class OrderUserApplyDetailDTO implements Serializable {

    //--- 用户信息 ---//
    /**
     * 用户code
     */
    @Schema(description = "用户code")
    private String userCode;


    @Schema(description = "客户编号")
    private String customerNo;
    /**
     * 用户姓名
     */
    @Schema(description = "用户姓名")
    private String userName;
    /**
     * 用户手机号
     */
    @Schema(description = "用户手机号")
    private String userPhone;
    /**
     * 年龄
     */
    @Schema(description = "年龄")
    private Integer age;
    /**
     * 性别
     */
    @Schema(description = "性别")
    private String gender;

    @Schema(description = "添加此客户的来源")
    private String addWayStr;

    @Schema(description = "联系人的描述")
    private String description;


    @Schema(description = "联系人的备注")
    private String remark;

    @Schema(description ="企微客户id")
    private Integer wechatCustomerId;

    @Schema(description = "微信昵称")
    private String wechatName;



    //--- 贷款信息 ---//
    /**
     * 借款金额
     */
    @Schema(description = "借款金额")
    private BigDecimal loanAmount;
    /**
     * 借款期限
     */
    @Schema(description = "借款期限")
    private String loanPeriod;


    //--- 基础信息 ---//
    /**
     * 文化程度
     */
    @Schema(description = "文化程度")
    private String educationLevel;
    /**
     * 工作所在城市
     */
    @Schema(description = "工作所在城市")
    private String workCity;
    /**
     * 信用卡
     */
    @Schema(description = "信用卡")
    private String creditCard;
    /**
     * 微粒贷额度
     */
    @Schema(description = "微粒贷额度")
    private String microLoanQuota;
    /**
     * 芝麻分区间
     */
    @Schema(description = "芝麻分区间")
    private String sesameSeedQuota;
    /**
     * 公积金(基础信息)
     */
    @Schema(description = "公积金(基础信息)")
    private String accumulationFund;
    /**
     * 社保(基础信息)
     */
    @Schema(description = "社保(基础信息)")
    private String socialSecurity;


    //--- 职业信息 ---//
    /**
     * 职业名称
     */
    @Schema(description = "职业名称")
    private String occupation;
    /**
     * 职业月收入
     */
    @Schema(description = "职业月收入")
    private String occupationMonthlyIncome;


    //--- 资产信息 ---//
    /**
     * 房产
     */
    @Schema(description = "房产")
    private String houseLevel;
    /**
     * 车产
     */
    @Schema(description = "车产")
    private String vehicleLevel;
    /**
     * 保险
     */
    @Schema(description = "保险")
    private String insure;
    /**
     * 公积金情况
     */
    @Schema(description = "公积金情况")
    private String accumulationFundLevel;
    /**
     * 社保情况
     */
    @Schema(description = "社保情况")
    private String socialSecurityLevel;

    /**
     * 用户微信
     */
    @Schema(description = "用户微信")
    private String userWechat;
    /**
     * 京东白条额度
     */
    @Schema(description = "京东白条额度")
    private String jdBtQuota;

    /**
     * 蚂蚁花呗额度
     */
    @Schema(description = "蚂蚁花呗额度")
    private String antCreditPayQuota;
    /**
     * 逾期
     *
     */
    @Schema(description = "逾期")
    private String beOverdue;

    @Schema(description = "系统标签")
    private List<TagInfo> tagInfoList;

    @Schema(description = "企微标签")
    private List<WechatTagInfo> wechatTagInfoList;

    @Schema(description = "成单时间")
    private Date createOrderTime;
}
